﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.CodeDom;
using System.Reflection;

namespace CoderJoe.Aspect
{
    public class AspectCodeGenerator
    {
        public CodeTypeDeclaration ProxyType { get; private set; }
        protected AspectModel ConfigurationModel { get; private set; }

        public AspectCodeGenerator(AspectModel configuration)
        {
            if (configuration == null)
                throw new ArgumentNullException("configuration");

            ConfigurationModel = configuration;
        }

        public void GenerateProperty(CodeMemberProperty propertyCode, PropertyInfo propertyInfo)
        {
        }

        public void GenerateFunction(CodeMemberMethod methodCode, MethodInfo methodInfo)
        {
        }

        public void GenerateProcedure(CodeMemberMethod methodCode, MethodInfo methodInfo)
        {
        }
    }
}
